Method and device for detecting CDMA-coded signals

ABSTRACT

Multiuser methods of detecting CDMA-coded signals cannot be used in practice because of their high computational complexity. However, the RAKE receiver, which is simple in computing terms, offers greatly inferior detection results. Through an iterative approximation of multiuser solutions, a reduction in computing complexity is achieved in comparison with traditional multiuser methods. A first estimate of coded data is improved by iteration either until a quality criterion is met or until no more computing time is available. The field of application of this method includes, in particular, situations where CDMA-coded signals transmitted linearly are to be detected, in particular in the mobile wireless field when using CDMA methods.

FIELD OF THE INVENTION

The present invention relates to a method and a device for detecting CDMA-coded signals.

BACKGROUND INFORMATION

CDMA offers the possibility of combining multiple discrete-time data streams into a total signal such that the original data streams can be recovered from this signal. Data streams can be recovered if the CDMA-coded signals are modified by different linear filters. The simplest possibility of data detection is called a matched filter. Better results are obtained with a RAKE receiver, as described, for example, by A. Salmasi, K. S. Gilhousen: “On the system design aspects of code division multiplex access (CDMA) applied to digital cellular and personal communications network,” Proc. IEEE Conf. Veh. Technol., St. Louis, Mo., USA, May 1991, pages 57-62. These detectors require only a knowledge of the code of the data stream to be detected. If the codes of the data streams not to be detected are also known, interference caused by foreign data streams (due to non-orthogonal codes) can be determined and eliminated. CDMA detection can be improved significantly by appropriate multiuser methods. In addition to the optimal maximum likelihood detector, described, for example, by W. van Atten: “Maximum likelihood receiver for multiple channel transmission systems,” IEEE Trans. Commun., vol. 24 (1976) 276-283, several suboptimal methods are known, such as those described by W. Sauer-Greff and R. A. Kennedy: “Suboptimal MLSE for distorted multiple-access channels using the M-algorithm,” Proc. Aachener Kolloquium Signal Theorie, Aachen, March 1994, 267-270; K. S. Schneider: “Detection of code division multiplexed signals,” IEEE Trans. Aerosp. Electron. Syst., vol. AES-15 (1979), 181-185; R. Lupas and S. Verdu: “Linear multi-user detectors for synchronous code division multiple-access channels,” IEEE Trans. Inform. Theory, vol. 35 (1989) 123-136; Z. Xie, R. T. Short and C. K. Rushforth: “A family of suboptimum detectors for coherent multi-user communications,” IEEE J Select. Areas Commun., vol. 8 (1990), 683-690; and A. Duel-Hallen: “Decorrelating decision-feedback multiuser detector for synchronous code-division multiple-access channels,” IEEE Trans. Commun., vol. 41(1993) 285-290.

If the pulse responses of the transmission channels of the coded data streams are known, interference caused by filtering can also be eliminated, as described by J. Salz: “Digital transmission over cross-coupled linear channels,” Bell Syst. Tech. J, vol. 64 (1985), 1147-1159; A. Duel-Hallen: Equalizers for multiple input/multiple output channels and PAM systems with cyclostationary input sequences,” IEEE J. Select. Areas Commun., vol. 10 (1992) 630-639; and M. L. Honig, P. Crespo and K. Steiglitz: “Suppression of near- and far-end crosstalk by linear pre- and post-filtering,” IEEE J. Select. Areas Commun., vol. 10 (1992), pages 614-629.

The greatest disadvantage of multiuser detectors is their high computational complexity. Even suboptimal methods often cannot be implemented because of the computational complexity. On the other hand, the RAKE receiver, which is simple in computing terms, offers greatly inferior detection results.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to create a multiuser detection method and a corresponding device based on available computing capacity.

The method according to the present invention for detecting CDMA-coded signals d=(d ^((l)), . . . , d ^((K))), where d ^((k))=(d _(l) ^((k)), . . . , d _(M) ^((k))), k=1, . . . , K, includes the following steps:

-   a) determining a first detection solution {circumflex over (d)}(1)     of CDMA-coded signals d; -   b) calculating an (n+1)-th detection solution {circumflex over (d)}     (n+1) by assigning {circumflex over (d)}(n+1)=f({circumflex over     (d)}(n)) as a function of n-th detection solution {circumflex over     (d)}(n) for n=1, . . . , N, where iteration for large values of n     converges toward multiuser solution {circumflex over (d)}_(MU),     i.e.,     ${{f\quad\left( {\underset{\_}{\hat{d}}\quad(n)} \right)}\underset{n\rightarrow\infty}{\rightarrow}{\underset{\_}{\hat{d}}}_{MU}},$ -   c) is the quality of approximation solution {circumflex over     (d)}(n+1) is not sufficient, letting n→n+1 and continuing the     procedure with step b); -   d) if the quality of solution {circumflex over (d)}(n+1) is     sufficient, terminating the procedure and using {circumflex over     (d)}(n+1) as the estimate of data d to be detected.

Symbols d ^((k)) to be transmitted can represent continuous or discrete data, the symbols preferably assuming values d ^((k))=±1, ±i in the case of QPSK (quaternary phase shift keying) modulation.

The process preferably converges toward the solution of the zero forcing block linear estimator for n→∞.

Furthermore, the function of step b) can be formed by f({circumflex over (d)})={circumflex over (d)}+δ˜g with a standardization factor $\delta = \frac{{g}^{2}}{{{A \cdot g}}^{2}}$ and an approximation term g ^(T=A) ^(H) ˜(s ^(T)−A˜{circumflex over (d)}^(T)), where matrix A is given by $A = \begin{bmatrix} b^{{(l)}_{1}} & 0 & \ldots & \quad \\ \vdots & \vdots & \quad & \quad \\ b^{{{(l)})}_{Q}} & 0 & \quad & \vdots \\ \vdots & b^{{(l)}_{1}} & \quad & \quad \\ b^{{(l)}_{Q + W - 1}} & \vdots & \quad & 0 \\ 0 & b^{{(l)}_{Q + W - 1}} & \quad & b^{{(K)}_{1}} \\ \vdots & \vdots & \quad & \vdots \\ 0 & 0 & \ldots & b^{{(k)}_{Q + W - 1}} \end{bmatrix}$ with b ^((k))=c ^((k))±h ^((k)) where c ^((k)) denotes the K different codes and h ^((k)) denotes the pulse responses of the K different linear transmission channels.

Solution {circumflex over (d)}^(T)(1)=A^(H) s ^(T) of the RAKE receiver is preferably used as the 1-st detection solution for starting the iteration. Furthermore, the first detection solution for starting the iteration can be set to zero.

A device according to the present invention for carrying out the method described above includes a data estimator for determining a first detection solution, an estimate improver for determining an improved detection solution and a decision circuit for deciding whether to continue the iteration.

The estimate improver preferably includes a unit for calculating an estimated transmission signal, a unit for calculating standardized approximation term δ˜g and an adder for calculating the improved estimate. The unit for calculating standardized approximation term δ˜g may have a unit for calculating approximation term g, a unit for calculating standardization factor δ and a multiplier for calculating the standardized approximation term.

A special advantage of the method according to the present invention is that the method requires only as much computing capacity as is available. The solution supplied is better than the solution of a RAKE receiver. If the available computing capacity is sufficient, the solution of the method according to the present invention approximates the solution of the multiuser method, i.e., the solution of the multiuser method is approximated by the method according to the present invention. By stipulating the time consumed by the method, it can be adapted easily to different complex detection functions, e.g., in the case of time-variable transmission channels of the CDMA system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a flow chart of the method according to the present invention.

FIG. 2 shows a structural diagram of the detector.

FIG. 3 shows a diagram of the estimate improver of the embodiment according to FIG. 2.

DETAILED DESCRIPTION

However, before giving a detailed explanation of the figures, the theory of the method will be outlined briefly.

Let there be K different discrete-time digital data streams d ^((k))=(d^((k)) ₁, d^((k)) ₂, . . . , d^((k)hd M))

Symbols d ^((k)) to be transmitted may represent continuous or discrete data. Digital data is preferably represented by linear modulation on discrete complex values of symbols d ^((k)), the symbols assuming values of d ^((k))=±1 or ±i, for example, in QPSK (quaternary phase shift keying) modulation.

Let these be CDMA coded with K different codes accordingly c ^((k))=(c^((k)) ₁, . . . , c^((k)) _(Q)) to: a ^((k))=(d^((k)) ₁˜c^((k)) ₁, . . . , d^((k)) ₁˜c^((k)) _(Q), . . . , d^((k)) _(M)˜c^((k)) ₁, . . . , d^((k)) _(M)˜c^((k)) _(Q))

Let these K signals be filtered through K different linear transmission channels having the pulse responses as follows: h ^((k))=(h^((k)) ₁, . . . , h^((k)) _(W)) to: S ^((k)) =a ^((k)) *h ^((k))

Transmitted signals s ^((k)) and an additional noise n are added up to a total signal: $\underset{\_}{s} = {{\sum\limits_{k = 1}^{K}\quad{\underset{\_}{s}}^{(k)}} + {n.}}$

With d=(d ⁽¹⁾, . . . , d ^((K))), $A = \begin{bmatrix} b^{{(l)}_{1}} & 0 & \ldots & \quad \\ \vdots & \vdots & \quad & \quad \\ b^{{{(l)})}_{Q}} & 0 & \quad & \vdots \\ \vdots & b^{{(l)}_{1}} & \quad & \quad \\ b^{{(l)}_{Q + W - 1}} & \vdots & \quad & 0 \\ 0 & b^{{(l)}_{Q + W - 1}} & \quad & b^{{(K)}_{1}} \\ \vdots & \vdots & \quad & \vdots \\ 0 & 0 & \ldots & b^{{(k)}_{Q + W - 1}} \end{bmatrix}$ and b ^((k)) =c ^((k)) *h ^((k)) s can be expressed by a linear equation system: s ^(T) =A˜d ^(T) +n ^(T) where s ^(T) is the transposed term of vector s.

Transmitted data streams can be estimated by a RAKE receiver from this receiver signal: {circumflex over (d)} ^(T) =A ^(H) ˜s ^(T) where A^(H) is the complex conjugated matrix transposed to A, and {circumflex over (d)} is the estimate of the data bits transmitted.

Better results are obtained with a multiuser method such as the zero dorcing block linear estimator: {circumflex over (d)} ^(T)=(A ^(H) ˜A)⁻¹ ˜A ^(H) ˜s ^(T)˜

This solution may be approximated by iteration by repeated use of the following representation: {circumflex over (d)}|→{circumflex over (d)}+δ˜g where $\delta = \frac{g^{2}}{{{A \cdot g}}^{2}}$ and g ^(T) =A ^(H)˜( s ^(T) −A˜{circumflex over (d)} ^(T)).

This method therefore includes the following steps:

-   i) Set {circumflex over (d)} to first estimate {circumflex over     (d)} (1) for d. -   ii) Set {circumflex over (d)} to improved ((n+1)-th) estimate     {circumflex over (d)}+δ˜g with     $\delta = {{\frac{g^{2}}{{{A \cdot g}}^{2}}\quad{and}\quad{\underset{\_}{g}}^{T}} = {A^{H} \cdot {\left( {{\underset{\_}{s}}^{T} - {A \cdot {\underset{\_}{\hat{d}}}^{T}}} \right).}}}$ -   iii) If no more computing time is available, {circumflex over (d)}     is assumed to be an estimate for transmitted data d; otherwise the     iteration is continued with step ii).

If {circumflex over (d)}_(i) ^((k))=0 is assumed as starting values for data to be detected, this method yields the solution of the RAKE receiver in the first step.

This method is illustrated in FIG. 1. The total signal, the required codes and the channel pulse responses are available as input E. In a first step 1, detection solution {circumflex over (d)} is set to a first estimate {circumflex over (d)} (1) of transmitted data d. In a second step 2, detection solution {circumflex over (d)} (2) is set to an improved estimate {circumflex over (d)}(1)+δ˜g using the definitions given above for δ and g. Step 3 which follows determines whether no more computing time is available or whether the improvement is sufficient. If this is the case, the iteration is terminated and the improved estimate is used as the solution. However, if more computing time is available or if the improvement is not sufficient, the process returns to second step 2, the improved estimate is used as the starting value and another iteration step is performed.

FIG. 2 shows the structure of a detector which carries out the method described above. Input quantities include received signal s as well as codes c ^((k)) and pulse responses h ^((k)). In a data estimator 4, a first estimate of the data is made on the basis of these input quantities. This first estimate is entered into an estimate improver 5 via a double-throw switch 7. The first estimate of first data estimator 4 is improved in estimate improver 5 by using the method described above. A decision circuit 6 determines whether no more computing time is available or whether the improvement in the estimate is sufficient. In the case when more computing time is available and the improvement is not sufficient, the result of the first improvement is again sent as a new input value to the input of estimate improver 5 via double-throw switch 7, which is thrown. Therefore, iteration is continued. Otherwise, the estimate thus determined is used as the value of the data to be detected. Furthermore, the detector includes a convolution calculator 8 which calculates quantity b ^((k)) from codes c ^((k)) and channel pulse responses h ^((k)).

FIG. 3 shows a block diagram of a preferred embodiment of estimate improver 5 of FIG. 2. In a unit 9 for calculating the estimated transmission signal, the n-th estimate of the transmission signal is calculated with n-th estimate {circumflex over (d)}(n) of the data by calculating A˜{circumflex over (d)}(n) and then is subtracted from received transmission signal s in a subtractor 10. In a unit 11, standardized approximation term δ˜g is calculated from the difference. This unit 11 includes a computation unit 12 for multiplying the difference by transposed matrix A^(T), thereby calculating n-th approximation term g. Furthermore, in a standardization unit 13, standardization factor δ is calculated from this term using the definition equation given above. Standardized approximation term δ˜g is calculated in a multiplier 14 as the product of standardization factor δ and approximation term g. Then (n+1)-th estimate {circumflex over (d)}(n+1) is formed in an adder 15 by addition of n-th estimate {circumflex over (d)}(n) and standardized (n)-th approximation term δ˜g. 

1. A method for detecting CDMA-coded signals d=(d ^((l)), . . . , d ^((K))), when d ^((k))=(d _(l) ^((k)), . . . , d _(M) ^((k))), k=1, . . . , K, comprising the steps of : determining a first detection solution {circumflex over (d)}(1) of CDMA-coded signals d; determining an (n+1)-th detection solution {circumflex over (d)}(n+1) for n=1, . . . , N as a function of the n-th detection solution {circumflex over (d)}(n) by assigning {circumflex over (d)}(n+1)=f({circumflex over (d)}(n)) where iteration for n→∞ converges toward multiuser solution {circumflex over (d)} _(MU) corresponding to ${{f\quad\left( {\underset{\_}{\hat{d}}\quad(n)} \right)}\underset{n\rightarrow\infty}{\rightarrow}{\underset{\_}{\hat{d}}}_{MU}},$ is a quality of approximation solution {circumflex over (d)}(n+1) is not sufficient, assigning n→n+1 and continuing performing the step of determining the (n+1)-th detection solution; if the quality of approximate solution {circumflex over (d)}(n+1) is sufficient, terminating the method and using {circumflex over (d)}(n+1) as an estimate of data d to be detected, wherein: the function of the step of determining the (n+1)-th detection solution is given by f({circumflex over (d)})={circumflex over (d)}+δ˜g with $\delta = {{\frac{g^{2}}{{{A \cdot g}}^{2}}\quad{and}\quad{\underset{\_}{g}}^{T}} = {A^{H} \cdot \left( {{\underset{\_}{s}}^{T} - {A \cdot {\underset{\_}{\hat{d}}}^{T}}} \right)}}$ where matrix A is given by $A = \begin{bmatrix} b^{{(l)}_{1}} & 0 & \ldots & \quad \\ \vdots & \vdots & \quad & \quad \\ b^{{{(l)})}_{Q}} & 0 & \quad & \vdots \\ \vdots & b^{{(l)}_{1}} & \quad & \quad \\ b^{{(l)}_{Q + W - 1}} & \vdots & \quad & 0 \\ 0 & b^{{(l)}_{Q + W - 1}} & \quad & b^{{(K)}_{1}} \\ \vdots & \vdots & \quad & \vdots \\ 0 & 0 & \ldots & b^{{(k)}_{Q + W - 1}} \end{bmatrix}$ with b ^((k))=c ^((k))*h ^((k)), where c ^((k)) denotes the K different codes and h ^((k)) denotes pulse responses of K different linear transmission channels.
 2. The method according to claim 1, further comprising the step of: converging toward a solution of a zero forcing block linear estimator for n→∞.
 3. The method according to claim 1, wherein: symbols d^((k)) to be transmitted assume values of ±1 or ±i.
 4. The method according to claim 1, wherein: solution {circumflex over (d)}^(T) (n)=A^(H)˜s ^(T) of a RAKE receiver is used as the 1-st detection solution for starting the iteration.
 5. The method according to claim 1, wherein: a first one of the detection solution for starting the iteration is set to zero.
 6. A device, comprising: a data estimator for determining a first detection solution; an estimate improver for determining an improved detection solution; and a decision circuit for deciding whether to continue an iteration.
 7. The device according to claim 6, wherein: the estimate improver includes a unit for calculating an estimated transmission signal, a unit for calculating standardized approximation term δ˜g, and an adder for calculating an improved estimate.
 8. The device according to claim 7, wherein: the unit for calculating standardized approximation term δ˜g includes a unit for calculating approximation term g, a unit for calculating standardization factor δ, and a multiplier for calculating the standardized approximation term. 